package Algorithm;

import java.util.Arrays;

public class Num567 {
    public boolean checkInclusion(String s1, String s2) {
        char[] c1=s1.toCharArray();
        char[] c2=s2.toCharArray();
        int n=c1.length;
        int m=c2.length;
        if(n>m) return false;
        int[] cnt1=new int[26];
        int[] cnt2=new int[26];

        for(int i=0;i<n;i++){
            cnt1[c1[i]-'a']++;
            cnt2[c2[i]-'a']++;
        }
        if(Arrays.equals(cnt1,cnt2)) return true;

        for(int i=n;i<m;i++){
            cnt2[c2[i]-'a']++;
            cnt2[c2[i-n]-'a']--;
            if(Arrays.equals(cnt1,cnt2)) return true;
        }
        return false;
    }
}
